#include <iostream>
#include <vector>
using namespace std;

class WeightUnionSet {
public:
	WeightUnionSet(int n) :fa(n + 1), val(n + 1) {
		for (int i = 0; i <= n; i++) {
			fa[i] = i;
			val[i] = 0;
		}
	}
	int get(int x) {
		if (fa[x] == x)return x;
		int root = get(fa[x]);
		val[x] = (val[x] + val[fa[x]]) % 3;; //先更新x到root的权值，再把x挂到val下面
		return fa[x] = root;
	}

	void merge(int a, int b,int t) {
		int aa = get(a), bb = get(b);
		if (aa == bb)return;
		fa[aa] = bb;
		val[aa] = (t - val[a] + val[b] + 3) % 3;
	}
	vector<int>fa, val; //val存储i节点到其父节点关系
};

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n, m;
	cin >> n >> m;
	WeightUnionSet u(n);
	while (m--)
	{
		int a, b, c;
		cin >> a >> b >> c;
		if (a == 1) {
			u.merge(b, c, 2);
		}
		else {
			if (u.get(b) != u.get(c)) {
				printf("Unknown\n"); //b c不在同一个集合
			}
			else {
				switch ((u.val[b] - u.val[c] + 3) % 3)
				{
				case 0: printf("Tie\n"); break;
				case 1: printf("Loss\n"); break;
				case 2: printf("Win\n"); break;
				}
			}
		}
	}
	return 0;
}